import store from '../vuex'

export function checkUpdate(obj){
	//plus.nativeUI.showWaiting("检测更新...");
	uni.request({
		url: 'http://www.jhinfo.net/ericsson/update.json', //检查更新的服务器地址
		dataType:'json',
		/* data: {
			appid: plus.runtime.appid,
			version: plus.runtime.version,
			imei: plus.device.imei
		}, */
		success: (res) => {
			console.log("检测更新成功,获取到的最新版本号为:" + res.data.latestVersion);
			store.commit('updateLatestVersion', res.data.latestVersion)
			if(res.data.update == 'true'){
				if(obj.wgtVer && res.data.latestVersion){
					if(parseFloat(obj.wgtVer) < parseFloat(res.data.latestVersion)){
						if(obj.type == 0 || obj.type == 1) downWgt(res.data);
						console.log(res.data.latestVersion)
					}else{
						if(obj.type == 1) plus.nativeUI.toast("已经为最新版，无需下载新版本！");
						console.log("无需下载新版本！");
					}
				}else{
					console.log("版本号为空，版本对比失败！");
				}
			}
			//plus.nativeUI.closeWaiting();
		}
	})
}

function downWgt(data){// 弹出对话框,询问更新最新版本
	let openUrl = 'http://' + (plus.os.name === 'iOS' ? data.iOS : data.Android);
	console.log("获取资源文件路径:" + openUrl);
	uni.showModal({
		title: '应用有新版本，立即下载更新？',
		showCancel: data.forceUpdate == 'true' ? false : true,
		content: data.note ? data.note : '新版本可更新',
		success: (showResult) => {
			if (showResult.confirm) {
				plus.nativeUI.showWaiting("下载最新文件中,请稍候...");
				plus.downloader.createDownload( openUrl, {filename:"_doc/update/"}, (d,status)=> {
					if ( status == 200 ) {
						plus.nativeUI.closeWaiting();
						console.log("下载wgt成功：" + d.filename);
						installWgt(d.filename); // 安装wgt包
					} else {
						console.log("下载wgt失败！");
						plus.nativeUI.alert("下载wgt失败！请关闭后台程序重新打开应用！");
					}
				}).start();
			}else{
				if(data.forceUpdate == 'true') plus.runtime.quit(); 
			}
		}
	})
}

function installWgt(path){// 自动更新应用资源
	plus.nativeUI.showWaiting("安装wgt文件...");
	plus.runtime.install(path,{force: true},function(){
		plus.nativeUI.closeWaiting();
		console.log("安装wgt文件成功！");
		plus.nativeUI.alert("应用资源更新完成！",function(){
			plus.runtime.restart();
		});
	},function(e){
		plus.nativeUI.closeWaiting();
		console.log("安装wgt文件失败["+e.code+"]：" + e.message);
		plus.nativeUI.alert("安装wgt文件失败["+e.code+"]："+e.message);
	});
}